package com.cskaoyan.javase.method._1detail;

import jdk.management.resource.internal.inst.SocketOutputStreamRMHooks;

/**
 * 解释一下main方法
 * @since 10:59
 * @author wuguidong@cskaoyan.onaliyun.com
 */
public class Demo4 {
    /*
        解释如下：
        1.public static表示"公开的，静态的"，main方法的修饰符是约定俗成的,必须保持一致.
        2.void表示方法没有返回值。
            因为main方法作为入口方法,是JVM调用的,JVM并不需要该方法有返回值
        3.main是方法名，代表这个方法是主方法，是程序的入口方法。
            main不是关键字，但在Java中它已经成为约定俗成的程序入口方法的方法名。
            不要自定义一个方法叫main！
        4.(String[] args) 是形参列表,表示main方法是可以传参的,传入的是一个String类型数组

        main方法当中,有一个地方是可以修改的,并不会影响main方法是入口方法?
        可以修改形参的名字,这时不会影响main方法的执行

        在一个方法的定义中,形参列表中,对方法的调用具有决定性影响的是方法形参的数据类型
        形参的名字是不影响方法调用的
        只会影响实际参数传入方法后,如何处理实际参数,只会影响方法内部,不会影响外部调用方法

     */
    public static void main(String[] args) {
        System.out.println("hello world!");
        test("hello");
    }

    public static void test(String str) {
        System.out.println(str);
    }
}
